﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class admincp_qlhocsinh : AdminPage
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Page_PreRender(object sender, EventArgs e)
    {
        try
        {
            switch (Request.QueryString["hanhdong"].ToString().ToLower())
            {
                case "themmoi":
                    lblLoaiHanhdong.Text = "Thêm mới học sinh:";
                    break;
                case "capnhat":
                    lblLoaiHanhdong.Text = "Cập nhật học sinh:";

                    //Kiểm tra xem query string magiaovien có tồn tại và giá trị có tồn tại trong CSDL
                    if (Request.QueryString["mahocsinh"] != null && KiemTraTonTaiMaHocSinh(Request.QueryString["mahocsinh"].ToString()))
                    {
                        //Tạo Seesion["MaGiaoVien"] chứa mã môn học dùng kiểm tra mã môn học với mã môn học trong Query String khi tiến hành lưu
                        Session["MaHocSinh"] = Request.QueryString["mahocsinh"].ToString();
                        HocSinh hocsinh = db.HocSinhs.Single(hs => hs.MaHocSinh == Int64.Parse(Session["MaHocSinh"].ToString()));
                        txtTenHocSinh.Text = hocsinh.TenHocSinh;
                        radNam.Checked = hocsinh.GioiTinh != null ? (bool)hocsinh.GioiTinh : false;
                        radNu.Checked = hocsinh.GioiTinh != null ? !(bool)hocsinh.GioiTinh : true;
                        txtNgaySinh.Text = hocsinh.NgaySinh != null ? String.Format("{0:dd/MM/yyyy}", hocsinh.NgaySinh) : "";
                        txtDiaChi.Text = hocsinh.DiaChi;
                        txtDienThoai.Text = hocsinh.DienThoai;
                        txtEmail.Text = hocsinh.Email;
                        txtNgayNhapHoc.Text = hocsinh.NgayNhapHoc != null ? String.Format("{0:dd/MM/yyyy}", hocsinh.NgayNhapHoc) : "";
                        radSuDung.Checked = hocsinh.TrangThai != null ? (bool)hocsinh.TrangThai : false;
                        radKhongSuDung.Checked = hocsinh.TrangThai != null ? !(bool)hocsinh.TrangThai : true;
                    }
                    else //Chuyển trang sang trang báo lỗi
                    {
                    }
                    break;
            }
        }
        catch
        {
            //Chuyển trang sang trang báo lỗi
        }
    }

    private bool KiemTraTonTaiMaHocSinh(string MaHocSinh)
    {
        try
        {
            //Nếu tìm không thấy thì phát sinh lỗi --> chuyển sang khối lệnh catch
            HocSinh hocsinh = db.HocSinhs.Single(hs => hs.MaHocSinh == Int64.Parse(MaHocSinh));
            return true;
        }
        catch
        {
            return false;
        }
    }

    protected void LuuHocSinh(object sender, EventArgs e)
    {
        try
        {
            HocSinh hocsinh = new HocSinh();
            switch (Request.QueryString["hanhdong"].ToString().ToLower())
            {
                case "themmoi":
                    hocsinh.TenHocSinh = txtTenHocSinh.Text;
                    hocsinh.GioiTinh = radNam.Checked;
                    if (!String.IsNullOrEmpty(txtNgaySinh.Text))
                        hocsinh.NgaySinh = DateTime.ParseExact(txtNgaySinh.Text, "dd/MM/yyyy", null);
                    hocsinh.DiaChi = txtDiaChi.Text;
                    hocsinh.DienThoai = txtDienThoai.Text;
                    hocsinh.Email = txtEmail.Text;
                    if (!String.IsNullOrEmpty(txtNgayNhapHoc.Text))
                        hocsinh.NgayNhapHoc = DateTime.ParseExact(txtNgayNhapHoc.Text, "dd/MM/yyyy", null);
                    hocsinh.TrangThai = radSuDung.Checked;
                    db.HocSinhs.InsertOnSubmit(hocsinh);
                    db.SubmitChanges();
                    Response.Redirect("hocsinh.aspx");
                    break;
                case "capnhat":
                    if (Session["MaHocSinh"].ToString() == Request.QueryString["mahocsinh"].ToString())
                    {
                        hocsinh = db.HocSinhs.Single(hs => hs.MaHocSinh == Int64.Parse(Session["MaHocSinh"].ToString()));
                        hocsinh.TenHocSinh = txtTenHocSinh.Text;
                        hocsinh.GioiTinh = radNam.Checked;
                        if(!String.IsNullOrEmpty(txtNgaySinh.Text))
                            hocsinh.NgaySinh = DateTime.ParseExact(txtNgaySinh.Text, "dd/MM/yyyy", null);
                        hocsinh.DiaChi = txtDiaChi.Text;
                        hocsinh.DienThoai = txtDienThoai.Text;
                        hocsinh.Email = txtEmail.Text;
                        if (!String.IsNullOrEmpty(txtNgayNhapHoc.Text))
                            hocsinh.NgayNhapHoc = DateTime.ParseExact(txtNgayNhapHoc.Text, "dd/MM/yyyy", null);
                        hocsinh.TrangThai = radSuDung.Checked;
                        db.SubmitChanges();
                        if (Session["MaHocSinh"] != null)
                            Session.Remove("MaHocSinh");
                        Response.Redirect("hocsinh.aspx");
                    }
                    else //Chuyển trang sang trang báo lỗi
                    {
                    }
                    break;
                default: //Chuyển trang sang trang báo lỗi
                    break;
            }

        }
        catch
        {
            //Chuyển trang sang trang báo lỗi
        }
    }
}